/*
* Author: honrun
*/
#ifndef DEVICESUART_H_
#define DEVICESUART_H_


#ifndef UART0
#define UART0                   0x01
#endif

#ifndef UART1
#define UART1                   0x02
#endif

#ifndef UART2
#define UART2                   0x04
#endif

#ifndef UART3
#define UART3                   0x08
#endif


void vUart0Init(void);
void vUart1Init(void);
void vUart2Init(void);
void vUart3Init(void);

void vUartBaudrateSet(uint32_t uiUart, int32_t iBaudrate);

void vUartSendDatas(uint32_t uiUart, void *pvDatas, int32_t iLength);
void vUartSendStrings(uint32_t uiUart, char *pcStrings);

int8_t cUartReceiveByte(uint32_t uiUart, uint8_t *pucByte);
int8_t cUartReceiveDatas(uint32_t uiUart, void *pvDatas, int32_t iLength);
int32_t iUartReceiveAllDatas(uint32_t uiUart, void *pvDatas, int32_t iLengthLimit);
int32_t iUartReceiveLengthGet(uint32_t uiUart);
int8_t cUartReceiveClear(uint32_t uiUart);


#endif /* DEVICESUART_H_ */
